In the transmission of documents, it is oftentimes necessary to adapt the resolution used within one type of line-scanning device, used as an "input" device such as a 480 lines-per-inch (l.p.i.) Teletex, to that used within another such device, used as an "output" device, such as a 300 l.p.i. facsimile terminal, so that the output representing a document generated by the Teletex may be transmitted via the facsimile terminal to another such terminal remote from the first. As another example, it may be necessary to adapt a bit-mapped resolution to a different resolution used by a cathode ray tube (crt) display. Generally, it is desirable to be able to obtain any given output to input resolution ratio.
Present resolution-adaption techniques do not permit such generalized output-to-input resolution adaption. This is because they process a document represented by a fixed number of scan-lines having a given input resolution, by, for each scan-line, either making a duplicate copy of a line or skipping the scan-line, depending on whether the output resolution is higher, or lower, respectively, than the input resolution. This technique proves useful only for a limited number of ouput-to-input resolution ratios. For example, by skipping every third line an output resolution of 300 l.p.i. can be obtained from an input resolution of 450 l.p.i., or by duplicating every third scan-line of the document twice an input resolution of 300 l.p.i. can be adapted to an output resolution of 400 l.p.i. However, adaption of the resolutions of the Teletex to the facsimile terminal, described above, cannot be obtained by present techniques, because a resolution of 480 l.p.i. cannot be obtained from a resolution of 300 l.p.i. simply by skipping every pth line nor can 300 l.p.i. be obtained from 480 l.p.i. by simply duplicating every qth line, regardless of the value of p or q.
In addition, some present adaption techniques require that each scan-line from the input device be stored as an intermediate sequence, even though only certain of these scan-lines result in scan-lines in the output. This imposes a line storage requirement that is larger than necessary.